import config from './baseUrl';
import * as $ from 'jquery';

class promise {

  constructor() {

  }

  commonRequest = {
    post: (param, url) => {
      return new Promise((resolve, reject) => {
        $.ajax({
          type: 'post',
          url: config.baseUrl + url,
          headers: {
            'x-access-token': JSON.parse(sessionStorage.getItem('loginMessage')) ? JSON.parse(sessionStorage.getItem('loginMessage')).token : '',
          },
          beforeSend: function(xhr) {
            try {
              xhr.withCredentials = true;
            } catch (e) {
              var nativeOpen = xhr.open;
              xhr.open = function() {
                var result = nativeOpen.apply(xhr, arguments);
                xhr.withCredentials = true;
                return result;
              };
            }
          },
          // contentType: 'application/json',
          data: param,
          dataType: 'json',
          cache: false, // 不缓存此页面
          // contentType:false, // 发送信息至服务器时内容编码类型
          // processData:false, // 默认值: true。默认情况下，通过data选项传递进来的数据，如果是一个对象(技术上讲只要不是字符串)，都会处理转化成一个查询字符串
          success: data => {
            resolve(data);
          },
          error: error => {
            reject(error);
          },
        });
      });
    },
  };

}

const getData_ajax = new promise();
(<any>window).config = getData_ajax;
export default getData_ajax;
